package elementi;

import java.awt.Color;

import elementi.giocatori.Giocatore;

import gioco.FactoryProxy;
import gioco.GestoreElementi;
import grafica.GraficaProxy;

public class Energia extends Gadget implements Temporizzato {
		
	public static final int INCREMENTO_ENERGIA = 1000;
	
	GestoreElementi gestoreElementi = GestoreElementi.getGestoreElementi();
	private int timer;
	private boolean attiva = true;
	
	public Energia(float x, float y){
		this.setX(x);
		this.setY(y);
		reset();
		this.setForma(FactoryProxy.getFactoryForme().creaCerchio(RAGGIO_GADGET, Color.GREEN));
	}
	
	public void reset(){
		this.timer = 100; 
	}
	
	@Override
	public void disegnaElemento() {
		GraficaProxy.getSingleton().disegnaGadget(this);		
	}

	@Override
	public void notificaCollisione(Elemento e) {
		setAttiva(false);	
	}
	
	@Override
	public boolean Attiva() {
		return attiva;
	}

	public void setAttiva(boolean Attiva) {
		this.attiva = Attiva;
	}

	@Override
	public void tickTemporizzato() {
		if (!attiva){
			timer--;
			if (timer == 0){
				setAttiva(true);
				reset();
			}
		}
	}

	@Override
	public void eseguiInterazione(Giocatore giocatore) {
		giocatore.sommaEnergia(INCREMENTO_ENERGIA);	
	}

}
